<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>对象继承</title>
</head>
<body>
    <script>
        //class 父类
        class Phone{
            //构造方法
            constructor(brand, price){
                this.brand = brand;
                this.price = price;
            }
            //电话功能
            call(){
                console.log('可以打电话...');
            }
        }

        // extends 关键字 『继承』
        class SmartPhone extends Phone{
            //属性初始化
            constructor(brand, price, storage, pixel){
                //调用父类的构造方法 固定写法
                super(brand, price);  // Phone.call(this, brand, price)
                this.storage = storage;
                this.pixel = pixel;
            }

            tv(){
                console.log('看电视');
            }

            learn(){
                console.log('学习');
            }
        }

        let oppo = new SmartPhone('oppo', 1799, '128G', '1000w');

        console.log(oppo);
















        // //子类
        // class SmartPhone extends Phone {
        //     //初始化
        //     constructor(brand, price, storage, pixel){
        //         //调用父类的构造方法   super 超级
        //         super(brand, price);
        //         this.storage = storage;
        //         this.pixel = pixel;
        //     }

        //     //子类方法
        //     videoChat(){
        //         console.log('视频聊天')
        //     }

        //     playGame(){
        //         console.log('玩游戏!!');
        //     }

        // }

        // //实例化
        // let vivo = new SmartPhone('vivo', 3000, '128G', '2000w');

        // // console.log(vivo);
        // vivo.videoChat();
        // vivo.call();
    </script>
</body>
</html>